51nod1269 B君的圆锥

1629 B君的圆锥
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
收藏
关注
B君要用一个表面积为S的圆锥将白山云包起来。

B君希望包住的白山云体积尽量大,B君想知道体积最大可以是多少。

注意圆锥的表面积包括底面和侧面。
Input
一行一个整数,表示表面积S。(1 <= S <= 10^9)
Output
一行一个实数,表示体积。
Input示例
8
Output示例
1.504506
wwwwodddd (题目提供者)
拿到这道题的第一想法就是写出面积体积关系,然后再找关系。
大神们说这道题的标准做法是用三分法~可以作为渣渣的我并不会—-以后学了再来补上。
不过群巨给了另一种数学建模的思想:
   要达成面积/体积最佳比,则模型样式是一致的。可以按比例缩放的。以放大2倍为例:
   R=r2
   S=S底+S侧=2^2
s底+2^2s底=2^2s
   V=1/3
S底H=1/32^2s底2h=2^3v
~简直奇妙~~又让渣渣我学到一招~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
double pow(double n){
return sqrt(n*n*n);
}
int main(){
int s;
while(~scanf("%d",&s)){
double v;
v = (double)1.504506*pow(s/8.0);
printf("%lf\n",v);
}
}